public class RaceCar {
	
	/**
	 * Variables
	 */
	private double laps;
	private String driverName;
	private int carNumber;
	private int gasLevel;
	private int tireWearLevel;
	private boolean isInPitStop;
	
	/**
	 * Creates a new RaceCar with new tires, and a full tank of gas.
	 * 
	 * @param driverName
	 * @param carNumber
	 */
	public RaceCar(String driverName, int carNumber) {
		this.driverName = driverName;
		this.carNumber = carNumber;
		this.tireWearLevel = 50;
		this.gasLevel = 200;
		this.isInPitStop = false;
	}

	/**
	 * Returns the number of laps driven for this RaceCar.
	 * 
	 * @return Returns the number of laps driven for this RaceCar.
	 */
	public double getLaps() {
		return this.laps;
	}
	
	/**
	 * Returns this RaceCar's driver's name.
	 * 
	 * @return Returns this RaceCar's driver's name.
	 */
	public String getDriverName() {
		return this.driverName;
	}

	/**
	 * Returns this RaceCar's car number.
	 * 
	 * @return Returns this RaceCar's car number.
	 */
	public int getCarNumber() {
		return this.carNumber;
	}
	
	/**
	 * Returns this RaceCar's current gas level.
	 * 
	 * @return Returns this RaceCar's current gas level.
	 */
	public int getGasLevel() {
		return this.gasLevel;
	}
	
	/**
	 * Returns this RaceCar's current tire wear level.
	 * 
	 * @return Returns this RaceCar's current tire wear level.
	 */
	public int getTireWearLevel() {
		return this.tireWearLevel;
	}
	
	/**
	 * Returns if this RaceCar is currently in a pit stop.
	 * 
	 * @return Returns if this RaceCar is currently in a pit stop.
	 */
	public boolean isInPitStop() {
		return this.isInPitStop;
	}
	
	/**
	 * Decreases this RaceCar's gas level by 1.
	 */
	public void decreaseGasLevel() {
		this.gasLevel--;
	}
	
	/**
	 * Decreases this RaceCar's tire wear level by 1.
	 */
	public void decreaseTireWearLevel() {
		this.tireWearLevel--;
	}
	
	/**
	 * This RaceCar is currently in a pit stop.  Gas level is set to full and new tires are put on.
	 */
	public void pitStop() {
		this.gasLevel = 200;
		this.tireWearLevel = 50;
		this.isInPitStop = false;
	}
	
}
